package unionpay.acp.demo;

import com.yls.except.util.StringIsempty;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

public class Unionpay {
	public static Map<String, String> unionpaymap(Map<String, String> data, String txntype, String queryid) {
		if(!StringIsempty.isallempty(queryid))
			data.put("origQryId", queryid);
		// 版本号
		data.put("version", "5.0.0");
		// 字符集编码 默认"UTF-8"
		data.put("encoding", "UTF-8");
		// 签名方法 01 RSA
		data.put("signMethod", "01");
		// 交易类型 01-消费
		data.put("txnType", txntype);
		// 交易子类型 01:自助消费 02:订购 03:分期付款
		if("01".equals(txntype))
			data.put("txnSubType", "01");
		else
			data.put("txnSubType", "00");
		// 业务类型
		data.put("bizType", "000201");
		// 渠道类型，07-PC，08-手机
		data.put("channelType", "08");
		// 前台通知地址 ，控件接入方式无作用
		data.put("frontUrl", "http://localhost:8080/ACPTest/acp_front_url.do");
		// 后台通知地址
		//data.put("backUrl", "http://pjiang123.imwork.net:43525/MiLi/payaction!returndirect");
		if("01".equals(txntype))
			data.put("backUrl", "http://app.yb86028.com/pepperlife/paycontroller/unionpayreturn.do");
		else
			data.put("backUrl", "http://app.yb86028.com/pepperlife/paycontroller/unionpayrefundreturn.do");
		// 接入类型，商户接入填0 0- 商户 ， 1： 收单， 2：平台商户
		data.put("accessType", "0");
		// 商户号码，请改成自己的商户号
		//data.put("merId", "777290058117447");
		data.put("merId", "898320353310808");
		// 订单发送时间，取系统时间
		data.put("txnTime", new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()));
		// 交易币种
		data.put("currencyCode", "156");
		data.put("encryptCertId",unionpay.sdk.CertUtil.getEncryptCertId());
		// 请求方保留域，透传字段，查询、通知、对账文件中均会原样出现
		// data.put("reqReserved", "透传信息");
		// 订单描述，可不上送，上送时控件中会显示该信息
		// data.put("orderDesc", "订单描述");
		return data;
	}
}
